Do you expect a user input of "application/vnd.ms-powerpoint" but not "powerpoint" or "ppt"? The dict key is "potential user input". Overall I think the schema of this file seems tiresome. Users might type the extension, the display name, mimetype, or there might be common alternatives e.g. "web page" meaning HTML. Why repeat the dictionary values for every variation on user input? Just have the JSON put in the table with the three columns in the list and process it to get the variations of user inputs.