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 (
    51232, 12, 51238, 51237, 51236, 51235, 
    51234, 51233, 51289, 51288, 51287, 
    51286, 51285, 51284, 51283, 8, 56, 81, 
    11, 4, 51361, 30, 51362, 51363, 51364, 
    51365, 31, 51366, 51367, 51368, 51369, 
    46, 51370, 51371, 51372, 51373, 51452, 
    51453
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00244

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "130.31"
    },
    "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": 151,
            "rows_produced_per_join": 151,
            "filtered": "100.00",
            "index_condition": "(`test_uchur_k`.`cscart_products_categories`.`product_id` in (51232,12,51238,51237,51236,51235,51234,51233,51289,51288,51287,51286,51285,51284,51283,8,56,81,11,4,51361,30,51362,51363,51364,51365,31,51366,51367,51368,51369,46,51370,51371,51372,51373,51452,51453))",
            "cost_info": {
              "read_cost": "62.36",
              "eval_cost": "15.10",
              "prefix_cost": "77.46",
              "data_read_per_join": "2K"
            },
            "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": 7,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "37.75",
              "eval_cost": "0.76",
              "prefix_cost": "130.31",
              "data_read_per_join": "39K"
            },
            "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
4 6,42,40M
8 42,7,390,40M
11 42,8,394,40M
12 42,7,390,40M
30 44,18,391,40M
31 43,391,18,40M
46 42,18,391,40M
56 42,8,394,40M
81 43,8,394,40M
51232 7,42,390,40M
51233 390,7,42,40M
51234 390,7,42,40M
51235 7,42,390,40M
51236 7,42,390,40M
51237 7,42,390,40M
51238 42,390,7,40M
51283 7,42,390,40M
51284 7,42,390,40M
51285 7,42,390,40M
51286 390,7,42,40M
51287 390,7,42,40M
51288 390,7,42,40M
51289 390,7,42,40M
51361 391,18,44,40M
51362 391,18,44,40M
51363 391,18,44,40M
51364 391,18,44,40M
51365 18,44,391,40M
51366 18,391,43,40M
51367 391,43,18,40M
51368 391,43,18,40M
51369 391,43,18,40M
51370 391,18,42,40M
51371 391,18,42,40M
51372 391,18,42,40M
51373 391,18,42,40M
51452 18,42,391,40M
51453 18,42,391,40M