Create a table with different values

Hello everyone,
Sorry to bother you but I am having problems trying to create a table. I have created an index that has a country and like 23 types of different risks. Every risk has three fields. It's name, the type (Low, High, ...) and a value (from 1-5).

I am willing to create a filter that for an specific country, shows all of the risks. However, I am finding problems with how I have defined the risks.

{
  "seerist_riesgo_arrays": {
    "mappings": {
      "_meta": {
        "created_by": "file-data-visualizer"
      },
      "properties": {
        "countryCode": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "countryName": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "risks": {
          "properties": {
            "labels": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "name": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "value": {
              "type": "long"
            }
          }
        }
      }
    }
  }
}

This is the mapping and I am willing to recreate something like this.

How should I define every risk? I may have to define every risk by itself?

Thank you for your time and sorry to bother.
Best regards

In order to expand the information, I have submitted my info in a ndjson, like this:

{"countryName": "Cook Islands", "countryCode": "COK", "risks": [{"name": "political stability", "labels": "Medium", "value": 3}, {"name": "regulatory", "labels": "Medium", "value": 3}, {"name": "contract", "labels": "Medium", "value": 3}, {"name": "integrity", "labels": "Medium", "value": 3}, {"name": "sovereign", "labels": "Medium", "value": 3}, {"name": "political", "labels": "Medium", "value": 3}, {"name": "institutional", "labels": "Medium", "value": 3}, {"name": "infrastructure", "labels": "Medium", "value": 3}, {"name": "labour", "labels": "Medium", "value": 3}, {"name": "operational", "labels": "Medium", "value": 3}, {"name": "crime", "labels": "Very Low", "value": 1}, {"name": "terrorism", "labels": "Very Low", "value": 1}, {"name": "war", "labels": "Very Low", "value": 1}, {"name": "civil unrest", "labels": "Very Low", "value": 1}, {"name": "kidnap", "labels": "Very Low", "value": 1}, {"name": "security", "labels": "Very Low", "value": 1}, {"name": "war (maritime)", "labels": "Very Low", "value": 1}, {"name": "terrorism (maritime)", "labels": "Very Low", "value": 1}, {"name": "kidnap (maritime)", "labels": "Very Low", "value": 1}, {"name": "hijack", "labels": "Very Low", "value": 1}, {"name": "theft/robbery", "labels": "Very Low", "value": 1}, {"name": "activism", "labels": "Very Low", "value": 1}, {"name": "maritime", "labels": "Very Low", "value": 1}]}