Classificação personalizada na ordem SQL por cláusula?

Aqui está a situação que estou tentando resolver:

Tenho uma consulta que pode retornar um conjunto de registros. O campo que está sendo classificado por pode ter um número de valores diferentes - para fins desta pergunta, diremos que o valor pode ser A, B, C, D, E ou Z

Agora, dependendo dos resultados da consulta, a classificação precisa se comportar da seguinte maneira: Se apenas os registros A-E forem encontrados, então a classificação "naturalmente" está correta. Mas se um registro Z estiver nos resultados, ele precisará ser o primeiro resultado na consulta, mas o restante dos registros deverá estar na ordem de classificação "natural".

Por exemplo, se A C D for encontrado, o resultado deverá ser

A
C
D

Mas se A B D E Z for encontrado, o resultado deverá ser classificado:

Z
A
B
D
E

Atualmente, a consulta se parece com:

SELECT NAME, SOME_OTHER_FIELDS FROM TABLE ORDER BY NAME

Eu sei que posso codificar uma função de classificação para fazer o que eu quero, mas por causa de como estou usando os resultados, não consigo usá-los porque os resultados estão sendo manipulados por uma biblioteca de terceiros, para a qual estou passando a consulta SQL. Ele está processando os resultados e parece que não há ganchos para eu classificar os resultados e apenas passar os resultados para a biblioteca. Ele precisa fazer a própria consulta SQL e não tenho acesso ao código fonte da biblioteca.

Então, para todos vocês, gurus do SQL, você pode fornecer uma consulta para mim que fará o que eu quer

questionAnswers(3)

yourAnswerToTheQuestion