refactored object enum