I think the compile time force for a little enum enforcement would look something like this... (excuse the bad syntax, doing it from memory)
private T GetPreviousEnum<T>(this T currentlySelectedEnum) where T: struct
StackOverflow has a good question and answer in relation to it here.[^].
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.