Types
The order property is a simple string. When the game compares 2 like prototypes if the order strings aren't equal they're lexicographical order to determine if a given prototype comes before or after another. When the order strings are equal the game then falls back to comparing the prototype names to determine order.
Example: The second item is shown before the first one (in the crafting grid/inventory etc)
 {
   type = "item",
   name = "item-1",
   order = "a-d",
 },
 {
   type = "item",
   name = "item-2",
   order = "a-b",
 },