Parametrising `contents` byte sequence
Hi there,

I have a file made up of TLV blocks which may or may not be nested.  Since there are a few valid possibilities about blocks' order and nesting, I'm trying to add validation right inside the Kaitai structure file by parametrising the generic TLV block definition and passing the expected type code to the type and using that value as the `contents` value for the type field.

Now, `contents` takes the value as a string, and it looks for the string representation of the enum name, which is not what I need, and maybe I am doing something wrong there.

Alternatively, I've tried to add a `process` directive to have the type check happening in my code, but still driven by Kaitai - so the definition would look like this:

```yaml
# ...

types:
  header_block:
    seq:
      - id: field1
        type: block(types::...)
      - id: field2
        type: block(types::...)

# ...

  block:
    params:
      - id: expected_type
        type: u4
        enum: types
    seq:
      - id: type
        type: u4
        enum: types
        process: field_code_validator(expected_type, type)
      - id: payload_length
        type: u4
      - id: payload
        type:
          switch-on: type
          cases:

# ...
```

But the `process` directive is not being accepted, no matter whether `ks-opaque-types: true` is present in the `meta` section or not:

```
/types/block/seq/0/process:
error: unknown key found, expected: consume, doc, doc-ref, eos-error, id, if, include, repeat, terminator, type, valid
```

Is it possible to achieve this?