Когда я использую перечисление в коде, я обычно сохраняю отформатированное имя как varchar в базе данных, а не храню таблицу значений перечисления в базе данных. Я понимаю, что это не так нормализовано, как хотелось бы, но я считаю, что это лучше, чем пытаться синхронизировать базу данных и мое перечисление. Все, что нужно, это отформатировать при вставке / обновлении и проанализировать при выборе, чтобы воссоздать значение обратно в перечисление.
Я делаю это только тогда, когда считаю, что перечисление будет исправлено - хотя я тоже делал нечастые обновления. Если я считаю, что, скорее всего, данные будут регулярно обновляться, я не буду использовать перечисление и буду иметь отдельную таблицу в базе данных со ссылками на внешние ключи.