### Description

### Description

The _terms_enum API [currently supports](https://github.com/elastic/elasticsearch/pull/83244) keyword, constant_keyword and flattened fields. 

Kibana would also like to support `ip` field type: https://github.com/elastic/kibana/issues/140266
Opening this issue to discuss if this is possible. 

I tried to workaround this limitation in Kibana using terms_agg for suggestions, but this also didn't work: 
https://github.com/elastic/kibana/issues/140266#issuecomment-1240828371



Note: there is a similar issue and some progress on _version_ type: https://github.com/elastic/elasticsearch/issues/83403



server/src/main/java/org/elasticsearch/index/mapper/KeywordFieldMapper.java
};
        }
        if (hasDocValues == false) {
            throw new IllegalArgumentException(
                "field ["
                    + name()
                    + "] of type ["
                    + typeName()
                    + "] doesn't support synthetic source because it doesn't have doc values and isn't stored"
            );
        }
        return new SortedSetDocValuesSyntheticFieldLoader(
            name(),
            simpleName,
            fieldType().ignoreAbove == Defaults.IGNORE_ABOVE ? null : originalName(),
            false
        ) {
            @Override
            protected BytesRef convert(BytesRef value) {
                return value;
            }
            @Override
            protected BytesRef preserve(BytesRef value) {
                
                return BytesRef.deepCopyOf(value);
            }
        };
    }
}