OK but I'll still require `needDocFreq` and `needTotalTermFreq` as independent choices in the subclass FreqTermsEnum where, importantly, they control which caches are maintained. 
If they are to remain boolean choices passed to the FreqTermsEnum constructor it would then need to make this translation for the base class:

    public FreqTermsEnum(IndexReader reader, String field, boolean needDocFreq, boolean needTotalTermFreq, @Nullable Filter filter, BigArrays bigArrays) throws IOException {
        super(reader, field, needTotalTermFreq ? DocsEnum.FLAG_FREQS : DocsEnum.FLAG_NONE, filter);

Worthwhile?