SELECT 
  cscart_june_setupproducts_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_june_setupproducts_categories.link_type = "M", 
      CONCAT(
        cscart_june_setupproducts_categories.category_id, 
        "M"
      ), 
      cscart_june_setupproducts_categories.category_id
    )
  ) AS category_ids, 
  product_position_source.position AS position 
FROM 
  cscart_june_setupproducts_categories 
  INNER JOIN cscart_june_setupcategories ON cscart_june_setupcategories.category_id = cscart_june_setupproducts_categories.category_id 
  AND cscart_june_setupcategories.storefront_id IN (0, 1) 
  AND (
    cscart_june_setupcategories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_june_setupcategories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_june_setupcategories.usergroup_ids
    )
  ) 
  AND cscart_june_setupcategories.status IN ('A', 'H') 
  LEFT JOIN cscart_june_setupproducts_categories AS product_position_source ON cscart_june_setupproducts_categories.product_id = product_position_source.product_id 
  AND product_position_source.category_id = 223 
WHERE 
  cscart_june_setupproducts_categories.product_id IN (
    12, 78, 79, 11, 41, 81, 107, 109, 91, 92, 
    34, 15, 31, 38, 80, 102
  ) 
GROUP BY 
  cscart_june_setupproducts_categories.product_id

Query time 0.00092

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "31.71"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "0.53"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_june_setupcategories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 84,
            "rows_produced_per_join": 3,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "19.53",
              "eval_cost": "0.67",
              "prefix_cost": "20.20",
              "data_read_per_join": "8K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`vishalecarter_june_setup`.`cscart_june_setupcategories`.`storefront_id` in (0,1)) and ((`vishalecarter_june_setup`.`cscart_june_setupcategories`.`usergroup_ids` = '') or find_in_set(0,`vishalecarter_june_setup`.`cscart_june_setupcategories`.`usergroup_ids`) or find_in_set(1,`vishalecarter_june_setup`.`cscart_june_setupcategories`.`usergroup_ids`)) and (`vishalecarter_june_setup`.`cscart_june_setupcategories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_june_setupproducts_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "vishalecarter_june_setup.cscart_june_setupcategories.category_id"
            ],
            "rows_examined_per_scan": 2,
            "rows_produced_per_join": 0,
            "filtered": "7.84",
            "index_condition": "(`vishalecarter_june_setup`.`cscart_june_setupproducts_categories`.`product_id` in (12,78,79,11,41,81,107,109,91,92,34,15,31,38,80,102))",
            "cost_info": {
              "read_cost": "9.00",
              "eval_cost": "0.11",
              "prefix_cost": "30.55",
              "data_read_per_join": "8"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "table": {
            "table_name": "product_position_source",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id",
              "product_id"
            ],
            "key_length": "6",
            "ref": [
              "const",
              "vishalecarter_june_setup.cscart_june_setupproducts_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 0,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.53",
              "eval_cost": "0.11",
              "prefix_cost": "31.18",
              "data_read_per_join": "8"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
11 224M
12 224M
15 224M
31 225M
34 225M
38 225M
41 225M
78 226M
79 226M
80 226M
81 226M
91 227M
92 227M
102 227M
107 227M
109 227M