SELECT 
  pfv.feature_id, 
  pfv.product_id, 
  pfv.variant_id, 
  gp.group_id 
FROM 
  cscart_product_features_values AS pfv 
  INNER JOIN cscart_product_variation_group_products AS gp ON pfv.product_id = gp.product_id 
  INNER JOIN cscart_product_variation_group_features AS gpf ON gpf.group_id = gp.group_id 
  AND gpf.feature_id = pfv.feature_id 
WHERE 
  pfv.lang_code = 'en' 
  AND gp.group_id IN (15, 18)

Query time 0.00091

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "25.09"
    },
    "nested_loop": [
      {
        "table": {
          "table_name": "gpf",
          "access_type": "index",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "feature_id",
            "group_id"
          ],
          "key_length": "6",
          "rows_examined_per_scan": 13,
          "rows_produced_per_join": 3,
          "filtered": "23.08",
          "using_index": true,
          "cost_info": {
            "read_cost": "4.11",
            "eval_cost": "0.60",
            "prefix_cost": "4.71",
            "data_read_per_join": "312"
          },
          "used_columns": [
            "feature_id",
            "group_id"
          ],
          "attached_condition": "(`atulecarter_atul_demo1`.`gpf`.`group_id` in (15,18))"
        }
      },
      {
        "table": {
          "table_name": "pfv",
          "access_type": "ref",
          "possible_keys": [
            "PRIMARY",
            "fl",
            "lang_code",
            "product_id",
            "fpl",
            "idx_product_feature_variant_id"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "feature_id"
          ],
          "key_length": "3",
          "ref": [
            "atulecarter_atul_demo1.gpf.feature_id"
          ],
          "rows_examined_per_scan": 7,
          "rows_produced_per_join": 10,
          "filtered": "48.99",
          "using_index": true,
          "cost_info": {
            "read_cost": "3.83",
            "eval_cost": "2.06",
            "prefix_cost": "12.74",
            "data_read_per_join": "7K"
          },
          "used_columns": [
            "feature_id",
            "product_id",
            "variant_id",
            "lang_code"
          ],
          "attached_condition": "(`atulecarter_atul_demo1`.`pfv`.`lang_code` = 'en')"
        }
      },
      {
        "table": {
          "table_name": "gp",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "product_id",
            "group_id"
          ],
          "key_length": "6",
          "ref": [
            "atulecarter_atul_demo1.pfv.product_id",
            "atulecarter_atul_demo1.gpf.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 10,
          "filtered": "100.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "10.29",
            "eval_cost": "2.06",
            "prefix_cost": "25.09",
            "data_read_per_join": "164"
          },
          "used_columns": [
            "product_id",
            "group_id"
          ]
        }
      }
    ]
  }
}

Result

feature_id product_id variant_id group_id
550 317 1202 15
550 319 1203 15
550 320 1204 15
550 321 1205 15
550 322 1206 15
550 323 1208 15
550 318 1202 18
550 329 1202 18
550 330 1203 18
550 331 1203 18
551 318 1217 18
551 329 1218 18
551 330 1217 18
551 331 1218 18