Add better EnabledFeatures defaulting logic

Summary:
Mobile wasn't specifying enabledFeatures, and was getting errors
about it because we'd added an EnabledFeature since I wrote this.

I should have written the code this way originally so we didn't
run into this issue, but now is better than never

Test Plan:
loaded perseus locally and saw no errors
mostly crossed fingers
will deploy to iOS later to check for no errors

Auditors: alex