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 (
    51132, 51131, 51134, 51133, 51130, 41, 
    51146, 51145, 38, 51148, 51147, 51150, 
    51149, 37, 51169, 51168, 51167, 51166, 
    90, 51171, 51170, 51209, 51208, 51207, 
    51206, 124, 51221, 137, 51224, 51223, 
    126, 115, 81, 11, 51357, 51360, 51359, 
    51358, 51361, 30, 51362, 51363, 51364, 
    51365, 31, 51366, 51367, 51368, 51369, 
    140, 51385, 51386, 51387, 51388, 51389, 
    88, 51395, 51396, 51397, 51555, 51556, 
    80, 51398, 51399
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00342

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "169.12"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "30.99"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 383,
            "rows_produced_per_join": 15,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "40.09",
              "eval_cost": "1.53",
              "prefix_cost": "41.62",
              "data_read_per_join": "81K"
            },
            "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')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "test_uchur_k.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 18,
            "rows_produced_per_join": 30,
            "filtered": "11.24",
            "index_condition": "(`test_uchur_k`.`cscart_products_categories`.`product_id` in (51132,51131,51134,51133,51130,41,51146,51145,38,51148,51147,51150,51149,37,51169,51168,51167,51166,90,51171,51170,51209,51208,51207,51206,124,51221,137,51224,51223,126,115,81,11,51357,51360,51359,51358,51361,30,51362,51363,51364,51365,31,51366,51367,51368,51369,140,51385,51386,51387,51388,51389,88,51395,51396,51397,51555,51556,80,51398,51399))",
            "cost_info": {
              "read_cost": "68.94",
              "eval_cost": "3.10",
              "prefix_cost": "138.14",
              "data_read_per_join": "495"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
11 42,8,394,40M
30 44,18,391,40M
31 43,391,18,40M
37 42,10,40M
38 10,42,40M
41 10,43,40M
80 26,40M
81 43,8,394,40M
88 235,42,40M
90 43,9,40M
115 42,8,394,40M
124 42,7,40M
126 42,8,394,40M
137 42,7,40M
140 25,42,40M
51130 43,10,40M
51131 43,10,40M
51132 43,10,40M
51133 43,10,40M
51134 43,10,40M
51145 42,10,40M
51146 42,10,40M
51147 42,10,40M
51148 42,10,40M
51149 10,42,40M
51150 10,42,40M
51166 9,43,40M
51167 9,43,40M
51168 9,43,40M
51169 43,9,40M
51170 9,43,40M
51171 9,43,40M
51206 7,42,40M
51207 42,7,40M
51208 7,42,40M
51209 7,42,40M
51221 7,42,40M
51223 7,42,40M
51224 7,42,40M
51357 391,18,42,40M
51358 391,42,18,40M
51359 391,18,42,40M
51360 391,18,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
51385 42,25,40M
51386 42,25,40M
51387 42,25,40M
51388 42,25,40M
51389 42,25,40M
51395 235,42,40M
51396 42,235,40M
51397 235,42,40M
51398 26,40M
51399 26,40M
51555 42,235,40M
51556 235,42,40M