From what i understand the object youre trying to publish needs these enum attributes as a string attribute. So when creating the object (non-persistant) for publishing you need to use the getCaption(ENUM) in order to create that string value from the persistant object to the non-persistant object. If that still doesnt give the desired string, mendix can do that sometimes because it supports multiple languages (the captions) then you have to create the string yourself based on microflow logic.
If this webservice is used more than the enum is changed for this object and your table isnt that big yet, and the string isnt language dependent (like this monetary example). i'd suggest storing the value as both the enum and the string. making the webservice just that little bit faster since there is no need for this action 3 times every time the webservice is called.