`enums.py` is very inconsistent. - [ ] Move overrides such as `__str__` and `__int__` to the base class - [ ] Convert `try_enum` and `create_unknown_value` logic to base class naturally - [ ] Update all lib files to use new Enum logic consistently