Better enums.
Implemented widget_type_enum properly.