fix: correctly expand {} when multi-level paths there

Only last path are expanded when there's multi-level
paths in {} expression like below where they share same top node.

"name1.{name2.name3a,name2.name3b}"
Use OrderedDict to retain order of columns