Si desea que sea algo dinámico, ¿por qué convertirlo en una enumeración para empezar? Simplemente obtenga los detalles de la tabla al iniciar la aplicación y recuérdelos en (digamos) un Dictionary<int, string>
. Siempre puede encapsular el valor dentro de su propio tipo de valor que aplica el rango, si así lo desea.
Alternativamente, si no le importa volver a compilar, puede buscarlo en build time y generar automáticamente el código fuente de la enumeración.