program flow with enumerations