enhance enum API