Trying to understand enum resolution
Hello, i'm trying to understand how enum:s are resolved. I assumed first that enum were resolve something like this:

- If no namespace, just a name, look in current types enums
- If namespace, has `::`,  look up type first then look in enums.

But when i trying some thing in webide and with ksdump things got confusing, for example:

```ksy
meta:
  id: enum_resolve

seq:
  - id: s0
    type: u1
    enum: e
  - id: s1
    type: u1
    enum: a::e
  - id: s2
    type: u1
    enum: a::a::e
  - id: s3
    type: u1
    enum: b::e
  - id: s4
    type: u1
    enum: b::b::e
  - id: s5
    type: u1
    enum: a::b::e
  - id: s6
    type: u1
    enum: b::a::e

types:
  a:
    enums:
      e:
        0: zero2
  b: {}

enums:
  e:
    0: zero
```
Both ksdump and webide result in:
```sh
$ docker run -v "$PWD:/share" -i --entrypoint=ksdump kaitai/ksv -f json /dev/zero enum_resolve.ksy
{
  "s0": "e_zero",
  "s1": "e_zero2",
  "s2": "e_zero2",
  "s3": "e_zero",
  "s4": "e_zero",
  "s5": "e_zero",
  "s6": "e_zero2"
}
```

So seems to behave something like this: If last part(s?) of type namespace resolve to a type that has the enum then use it, otherwise ignore type namespace and just look in current types enums.
