Ha senso mettere enum in un ordine logico, se non altro per motivi di dare un senso a loro. Ad esempio, non avresti messo un enum di mesi con febbraio dopo ottobre? (domanda retorica).
In diverse langues le enumerazioni possono essere trattate come se avessero un ordine, proprio come nell'esempio che fornisci. Per questo motivo ha molto senso inserirli in un ordine logico o forse più correttamente nel "mondo reale".
Dall'esempio fornito, non tutte le culture necessarie prendono le cose in senso orario, infatti alcune culture usano intrinsecamente l'ordine 'antiorario'. In queste culture troverai enumerazioni che rappresentano le cose in cui la direzione della bussola è in senso 'antiorario'. Qualcosa come i mesi che non hanno un'idea in senso orario / antiorario si trovano ancora nell'ordine ordinale.
Un'altra considerazione sull'ordine arriva quando si considera l'ordinamento. Se ordinassi il Nord prima di Est, questo dovrebbe essere l'ordine utilizzato per rientrare in linea con gli algoritmi di ordinamento predefiniti che potrebbero ordinare le cose usando l'enum come chiave.
Quando scrivi il codice dovresti prendere in considerazione le tue aspettative o coloro che potrebbero usare il tuo codice. Se sai e ti aspetti che le tue enumerazioni seguano l'ordine in senso orario, dovresti usarle come best practice. Se stai scrivendo il codice che deve essere usato da persone che tipicamente usano l'ordine in senso antiorario, puoi invece ordinarli in quel modo. Si potrebbe anche sostenere che dal momento che la maggior parte delle culture utilizza la rotazione in senso orario, allora è quello che dovresti usare e fare affidamento su.
Non importa quello che fai, un certo senso dell'ordine dovrebbe essere mantenuto e dovrebbe essere mantenuto coerente su tutto il tuo codice, se usi in senso orario, quindi usalo ovunque. Tuttavia, non farei qualcosa come enum {Nord, Sud, Est, Ovest} in quanto non ha ordinamenti tipici.