A mi me parece una buena idea almacenar los meses como un valor numerico
En realidad, cuando armo una BD, de todas las opciones los tipos string son "casi siempre", la peor; si puedo poner otra cosa, mejor
El pro mas importante de los tipos numericos es que son extremadamente rápidos, para realizar busquedas, filtros y ordenamiento de tablas son muchisimo mas eficientes
Luego cuando se quiere presentar al usuario el valor "real", es decir, para un usuario quiza no le haga mucha gracia ver el numero 3 en lugar de "Marzo", pero es bastante "economico" realizar un par de conversiones desde el valor 3 a Marzo
Pero al fin y al cabo es como que de este paso no podes escapar porque siempre terminas aplicando algun formato a cualquier campo (fechas, importes monetarios, horas, etc) asi que podria considerarse como una de las operaciones mas de "formato"
Ahora, si hay que ordenar una tabla con millones de registros, en donde el valor a comparar son todos strings, madre mia