Adapted new enum classes from cyvmath