The main reason we used Enum was for performance.
Since we do some pretty heavy filtering via the ClassName field ( a
big old IN ('X','Y'Z) filter on pretty much every single query),
performance of that field is a major issue.
Another solution would be to only remove options from the Enum if
there wasn't any existing database content that used that Enum value.
This could potentially apply to all enums, not just ClassName.
The workflow would then be:
* Run db/build
* Correct your data
* Run db/build again to remove the old enum values.