toJSON() for Substrate enums can return string, object ({"approved":null}), or number (enum index). Previous code assumed string only, causing already approved applications to appear as pending.