Factoring out an enum for the different compile stages.