produces and consumes should be enums