In this question, I discovered that enum changes are not handled by Entity Framework migrations. In fact, enum changes don't even result in a model changed error, so you can change enums at will with no controls.
Enum changes that result in different int values, such as order changes or removals, can effectively render the database data invalid, since the meaning of the stored integer is now wrong.
In order for Migrations to work, you have to manually execute custom SQL that changes the changed enum values.
The problem is, the developer has to remember to do this, and if there was an oversight then effective data corruption can occur.
How can someone put into place checks against this? Is it possible to, in the event an enum changes, throw a model change error or something like this?