For the purposes of this component, I think of TermEnum as an implementation, not the interface.... people will eventually want to do things like sort by high docfreq (just as in faceting), or only list terms above a certain count, or only list terms matching a certain pattern, etc. All of these can make sense since we can do it more efficiently closer to the data.
I tend to think of TermEnum in the terms of lower bound and upper bound instead of offset
Right, offset doesn't make as much sense with the current semantics (but it might later).
As for term.limit, isn't that faceting duplicating the "rows" parameter?
Yes, we unfortunately have two ways of specifying this ("rows" and "limit"). I think limit is the better name though (and this will be highly associated with faceting in people's mind I think).