La guía o código que hallarás en este artículo es la resolución más sencilla y válida que hallamos a tus dudas o problema.
Solución:
Me temo que no encontrará ninguna solución elegante a esto. Hubo una propuesta para enumeraciones que no distinguen entre mayúsculas y minúsculas y se comentaron varias cuestiones.
Entonces, si no puede evitar el requisito, las soluciones de expresiones regulares son las únicas factibles. Otro enfoque de fuerza bruta sería tener n listas completas de valores de enumeración, una con letras mayúsculas iniciales, otra con todas las letras mayúsculas, etc. y luego usar anyOf como indicó. Puede automatizar la creación de este esquema json fácilmente. Obviamente no será muy legible.
De todos modos, intentaría resolver esto con un paso de preprocesamiento antes de la validación. Puede convertir a minúsculas las propiedades requeridas si están presentes y luego validarlas. Me parece un poco forzado usar la especificación json-schema para permitir datos ‘sucios’.
Comentarios y puntuaciones de la guía
Recuerda que puedes recomendar este enunciado si te ayudó.