Implemented the rest of the ForEachEnum functionality