I need the ability to subclass (with subclasses having their own event types, but also can inherit parent types) and you can't extend enums. If you have a reasonable solution for that, let me know.