Once upon a time, many years ago, ena was discussed as a text handling structure. Ena uses Michel Foucault's graph [Foucault]: stem, word and phrase level distances "within the space of rarity" [Deleuze pp11].
A node in this graph is a stem, word or phrase. It is linked in a large number of arbitrarily defined dimensions. The graph is dynamic, evolving continuously in its links and dimensions according to purpose.
A token is a long stem -- a word without suffix modifiers like the plural 's'. The most frequent tokens are ignored while tokens of two or more are linked in a list. The text is the base list, and these others are labeled for their tokens and the attributes of their tokens. For example, the probability of a token being a noun (stem) is an important token list attribute.
The most general starting point is to construct token lists in decreasing order of noun probability, and then subsequent lists of surrounding tokens are consolidated into related (token) phrases.
Each list token or phrase is an entry point into this graph.
The graph is a kind of knowledge of the text that invokes the idea of understanding the text, perhaps "cognitive structure".
Ena is an interesting problem to solve from a software perspective. Some immediate applications include an ena editor, good at "replace all" operations. An ena VR interface would be interesting over a collection of many texts.