- Split up enum lowering into two stages: descriptors creation and IR creation. - Added link stage test. - Enum.valueOf() uses binary search instead of linear.