Added the enums in the classes and extra implementions for them

Enums and their functionality added