Ако искате да е малко динамично, защо да го правите като изброяване като начало? Просто извлечете подробностите от таблицата при стартиране на приложението и ги запомнете в (да речем) Dictionary<int, string>
. Винаги можете да капсулирате стойността в рамките на вашия собствен тип стойност, който налага диапазона, ако желаете.
Като алтернатива, ако нямате нищо против прекомпилирането, можете да го изтеглите от build време и автоматично генерира изходния код на enum.