O MySQL tem uma função útil chamada
FIELD()
o que é excelente para tarefas como esta. ORDER BY FIELD(Language,'ENU','JPN','DAN'), ID
Observe, no entanto, que
-
Isso torna seu SQL menos portátil, pois outros SGBDs podem não ter essa função
-
Quando sua lista de idiomas (ou outros valores para classificar) fica muito maior, é melhor ter uma tabela separada com coluna de ordem de classificação para eles e juntá-la às suas consultas para ordenação.