I followed the article below and got the picklist label-name instead of API name for an object. How to query 'Value' of a picklist rather than the 'API NAME', using SOQL?
However while updating the object we get the error below. INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST
This is problematic, as now there is no way to get the API name of the field.