### 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
return values.termsEnum();
            }
            @Override
            public TermsEnum intersect(CompiledAutomaton compiled, final BytesRef startTerm) throws IOException {
                if (startTerm == null) {
                    return values.intersect(compiled);
                } else {
                    return super.intersect(compiled, startTerm);
                }
            }
            @Override
            public long size() throws IOException {
                throw new UnsupportedOperationException();
            }
            @Override
            public long getSumTotalTermFreq() throws IOException {
                throw new UnsupportedOperationException();
            }
            @Override
            public long getSumDocFreq() throws IOException {
                throw new UnsupportedOperationException();
            }
            @Override
            public int getDocCount() throws IOException {
                throw new UnsupportedOperationException();
            }
            @Override
            public boolean hasFreqs() {
                throw new UnsupportedOperationException();
            }