That's.. not terrible, actually, but a bit unsatisfying to ask scripters to parse a number in the middle of a string to get the charges.
$item has a good number of fields that are not applicable to the majority of items. If an item is not a consumable, for example, it has a good number of blank fields. So, there's precedent for having "situationally worthless" fields, though obviously this field would be "worthless" far more often than others.
I don't know, this "feels" like it should be a proxy record to me. Would there be any merit in somehow hiding or not returning the field if not applicable to the data type? I assume that that would break a lot of scripts if suddenly $item[snorkel].quality was not a valid field. Just spitballing, I don't know.