Changed Expansion to enum

Keeping the expansion as a string everywhere was wasteful. An enum is
certainly appropriate.
Revert "Changed Expansion to enum"

This reverts commit cb568fc2b92ca4e23ebfb7ee03d7605503dbc1d7.
Revert "Revert "Changed Expansion to enum""

This reverts commit 2e9ecfbd22889fdd094ec3f384fb26d8e246c291.