Enum Changes and Basic Case

Redoing the Enum changes (since older pull request didn't want to go through) and added a Case class.