API-Name for picklist-value was introduced in recent times (may be in last 1-2 years).
SFM-Mapping originally could only map a value (which is now called label). ServiceMax haven't changed the behavior of SFM-Mapping after Salesforce started supporting api-names for picklist values.
In order to avoid the confusion between how SFM maps fields with programatic way when customer-extension uses api-names, ServiceMax can enhance SFM along these lines : SFM-Mapping should provide an additional option at the time of configuration to choose 'Mapping behavior for Picklist values' as 'Label' or 'API-Name'. To be consist with current behavior & for backward compatibility all existing SFM-Mapping configuration should consider 'Label' as default behavior. Based on this new piece of information runtime engine that performs apply-mapping (Online & Mobile) should action accordingly.
What is the underlying problem do you intend to solve with this idea?
Use different names between API name and Label name of picklist values
How is the problem being addressed today, if at all?
Some picklist fields have different names between API name and Label name columns. Some records pulls the API name that is shorter and not accurate