Finished up some fancy enum stuff
Migrate Enum to its own file