How to create ordered list of categories from multiple category groups
You can query on multiple category groups like so:

craft.categories.group('suitability, finish, shape, material, edge, surface').all()


It can also be done with an array:

craft.categories.group([
  'suitability',
  'finish',
  'shape',
  'material',
  'edge',
  'surface'
]).all()


Whenever you invoke .all() it returns an array. As those arrays were merged, they created a larger array. In that last bit of code, categories.orderBy() failed because categories was an array and arrays do not have a method named orderBy.

Hope that helps!