allow enums to recover from a previous bad serialization.

Bad serialization is when the enum was serialized by code that was not aware of how the enum should be serialized.
In this case we end up with a object with the same properties but it is not an enum.