You can get the valid properties like so:
IGxObject gxObj = <something>;
IGxObjectProperties props = gxObj as IGxObjectProperties;
for (int ii = 0; ii < props.PropertyCount; ii++)
string name = "";
object value = null;
props.GetPropByIndex(ii, ref name, ref value);
Valid strings will change based on what the GxObject represents. I would assume other valid strings that exist by default will follow the same format as the strings your question.
This optional interface is not relied on for any major functionality.
However, it does allow access to properties of a GxObject without
requiring a separate property or method to be declared to access each
separate piece of information. This allows new versions of your
GxObject to gain additional functionality without breaking binary
IGxObjectProperties allows access to properties of a GxObject in a
For the GetProperty method, you should support a minimum of two
properties, name and type, which are accessed via the strings
ESRI_GxObject_Name and ESRI_GxObject_Type.