Move exception
E does not have to extend Enum
Rename class for consistency