Use strings for all data keys

At runtime, the endpoint instance will be looking up data from
string-based sources (e.g. URLs, XML feeds), and as such, currently have
to make a conversion to integers for every lookup. Additionally, to know
whether such a conversion is good or not, a regex check has to happen
too.

By converting everything to be string-based, both the conversion and
regex match check could be avoided entirely just by doing a dict lookup,
which already has to be done anyway.