AbstractEnumType provides few additional methods, which might be useful.
BasketballPositionType::isValueExist('Pitcher');
// Will return: false
BasketballPositionType::getReadableValue(BasketballPositionType::SHOOTING_GUARD);
// Will return: Shooting Guard
BasketballPositionType::getValues();
// Will return: ['PG', 'SG', 'SF', 'PF', 'C']
BasketballPositionType::getRandomValue();
// Will randomly return one of the available values: 'PG', 'SG', 'SF', 'PF', 'C'