Introduce a generic Enum<T>
Switch EventBus over to more formalized Enum-based event types
Reuse Enum<T> for workspace.EventType
Address review + add enum's name to toString()
Address review
Merge pull request #1622 from ussuri/switch-file-controller-to-event-bus

Add Enum<T> and switch EventBus to more formalized event types