Item unification part two: use enum
Majorly rearrange items and add a doc-AST folder