[`Setting.versionSetting`](https://github.com/elastic/elasticsearch/blob/0652a5915586abbcdfdfffa91a391740f0147752/server/src/main/java/org/elasticsearch/common/settings/Setting.java#L1275) (only used by index compatibility setting) does not use the `Validator` passed in - its just discarded. Looks like it's been like this since it was introduced by https://github.com/elastic/elasticsearch/pull/83264 in 8.2.0.

Enabling this causes some tests to fail. Enabling this may cause problems for indexes that have a wonky setting already applied.
server/src/main/java/org/elasticsearch/common/settings/Setting.java
* @param <T> the generics type parameter reflecting the actual type of the enum
     * @return the setting object
     */
    public static <T extends Enum<T>> Setting<T> enumSetting(
        Class<T> clazz,
        String key,
        T defaultValue,
        Validator<T> validator,
        Property... properties
    ) {
        return new Setting<>(key, defaultValue.toString(), e -> Enum.valueOf(clazz, e.toUpperCase(Locale.ROOT)), validator, properties);
    }
    /**
     * Creates a setting where the allowed values are defined as enum constants. All enum constants must be uppercase.
     *
     * @param clazz the enum class
     * @param key the key for the setting
     * @param fallbackSetting the fallback setting for this setting
     * @param validator validator for this setting
     * @param properties properties for this setting like scope, filtering...
     * @param <T> the generics type parameter reflecting the actual type of the enum
     * @return the setting object
     */
    public static <T extends Enum<T>> Setting<T> enumSetting(
        Class<T> clazz,
        String key,
        Setting<T> fallbackSetting,
        Validator<T> validator,
        Property... properties
    ) {