Thanks for that insight.
Following up on this, I checked what Garmin Connect is doing when a course is saved as GPX file: They are simply using the internal name of the FIT SDK CoursePoint type enum (looks like the Java implementation, it's an all uppercase string like FOOD or WATER). I definitely prefer your approach over Garmin's, it's much closer to what I've seen around the internet in terms of symbol naming.
Yes, unfortunately there does not seem to be a GPX standard for waypoint symbols.
That being said, you do have the freedom to add the missing waypoint types, which I would especially welcome for store and transportation waypoints.
Thanks for that feedback. We'll look into that when we get chance. I don't think that GPX has the same standards as FIT though for point types.
Plotaroute recently added support for most waypoint symbols to be exported as corresponding FIT course point types. When saving as GPX, a few of them are not yet supported (meaning the wpt/sym element is always the default "Flag, Blue").
These are the specific wpt/sym values I find to be supported:
These are the important waypoint symbols currently missing in GPX compared to FIT: