refactor: Move EventType into base UserEvent class so that children can share a ToString() implementation