In order to support different match kinds you need to:
1. Define a new architecture that introduces the match kind
2. Implement support for the match kind in bmv2 (or whatever target you are planning to run on). If you chose bmv2, then you need to define the json information required for the new match kind.
3. Implement support in the compiler backend to generate the corresponding json information (if bmv2) or machine code if a different target.