SELECT 
  cscart_products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_products_categories.link_type = "M", 
      CONCAT(
        cscart_products_categories.category_id, 
        "M"
      ), 
      cscart_products_categories.category_id
    )
  ) AS category_ids 
FROM 
  cscart_products_categories 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
WHERE 
  cscart_products_categories.product_id IN (
    51194, 51193, 51192, 51191, 51190, 51189, 
    19, 111, 51212, 144, 51215, 51214, 51213, 
    51444, 51445, 51446, 51447, 51220, 
    51219, 51218, 51217, 51216, 146, 51448, 
    51449, 9, 59, 60, 13, 51347, 85, 61, 51350, 
    123, 15, 95
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00154

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "108.21"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 124,
            "rows_produced_per_join": 124,
            "filtered": "100.00",
            "index_condition": "(`test_uchur_k`.`cscart_products_categories`.`product_id` in (51194,51193,51192,51191,51190,51189,19,111,51212,144,51215,51214,51213,51444,51445,51446,51447,51220,51219,51218,51217,51216,146,51448,51449,9,59,60,13,51347,85,61,51350,123,15,95))",
            "cost_info": {
              "read_cost": "52.41",
              "eval_cost": "12.40",
              "prefix_cost": "64.81",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "test_uchur_k.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 6,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "31.00",
              "eval_cost": "0.62",
              "prefix_cost": "108.21",
              "data_read_per_join": "32K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`test_uchur_k`.`cscart_categories`.`storefront_id` in (0,1)) and ((`test_uchur_k`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`test_uchur_k`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`test_uchur_k`.`cscart_categories`.`usergroup_ids`))) and (`test_uchur_k`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
9 6,42,40M
13 6,42,40M
15 6,43,40M
19 44,9,40M
59 6,42,40M
60 6,42,40M
61 6,42,40M
85 42,28,394,40M
95 31,43,40M
111 7,42,40M
123 42,6,40M
144 42,7,390,40M
146 42,7,390,40M
51189 9,44,40M
51190 9,44,40M
51191 9,44,40M
51192 9,44,40M
51193 9,44,40M
51194 9,44,40M
51212 42,7,40M
51213 390,42,7,40M
51214 390,42,7,40M
51215 390,42,7,40M
51216 390,42,7,40M
51217 390,42,7,40M
51218 390,42,7,40M
51219 390,42,7,40M
51220 390,42,7,40M
51347 28,42,394,40M
51350 6,42,40M
51444 390,7,42,40M
51445 390,7,42,40M
51446 390,7,42,40M
51447 390,7,42,40M
51448 390,7,42,40M
51449 390,7,42,40M