Хорошо бы лучше, чем в вашем примере, было бы использование enum для хранения постоянных значений и приведение к int каждый раз. Таким образом, вы можете по крайней мере использовать enum везде, где это возможно, вместо того, чтобы потерять все.
перечисления никогда не обеспечивают неизбежную безопасность типов. Но, расширив использование перечислений настолько, насколько это возможно, в коде приложений и бизнес-логике, вы получаете все большую безопасность от скрытых ошибок использования.