Lets assume a custom extended implementation of EnumType is at play here.
For this example, no methods need to be overridden; just a custom type name used.
Then the entity definition:
This would generate a MappingException when the HBM mapping was being sent from Envers to ORM because the the type parameters being provided by Envers to ORM were incorrect, forcing the code path to take a branch that wasn't compatible with HBM.
In short the type definition was being generated something like:
The expected result should be