### 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
@Override
            public boolean hasOffsets() {
                throw new UnsupportedOperationException();
            }
            @Override
            public boolean hasPositions() {
                throw new UnsupportedOperationException();
            }
            @Override
            public boolean hasPayloads() {
                throw new UnsupportedOperationException();
            }
        }
        @Override
        public String typeName() {
            return CONTENT_TYPE;
        }
        @Override
        public boolean eagerGlobalOrdinals() {
            return eagerGlobalOrdinals;
        }
        NamedAnalyzer normalizer() {
            return normalizer;
        }
        @Override
        public IndexFieldData.Builder fielddataBuilder(FieldDataContext fieldDataContext) {
            FielddataOperation operation = fieldDataContext.fielddataOperation();
            if (operation == FielddataOperation.SEARCH) {
                failIfNoDocValues();
                return fieldDataFromDocValues();