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 (
    3754, 3755, 3756, 3757, 3758, 3759, 3760, 
    3761, 3762, 3764, 3765, 3771, 3774, 
    3775, 3776, 1930, 3815, 3817, 3818, 
    3897, 3896, 3895, 3894, 3883, 3898, 
    3974, 3977, 3976, 3975, 3973, 3972, 
    3978, 3979, 4022, 4021, 4020
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00216

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "80.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": 89,
            "rows_produced_per_join": 89,
            "filtered": "100.00",
            "index_condition": "(`softwarepirmam_hewadelivard_cscart_4`.`cscart_products_categories`.`product_id` in (3754,3755,3756,3757,3758,3759,3760,3761,3762,3764,3765,3771,3774,3775,3776,1930,3815,3817,3818,3897,3896,3895,3894,3883,3898,3974,3977,3976,3975,3973,3972,3978,3979,4022,4021,4020))",
            "cost_info": {
              "read_cost": "40.16",
              "eval_cost": "8.90",
              "prefix_cost": "49.06",
              "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": [
              "softwarepirmam_hewadelivard_cscart_4.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 4,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "22.25",
              "eval_cost": "0.45",
              "prefix_cost": "80.21",
              "data_read_per_join": "13K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`softwarepirmam_hewadelivard_cscart_4`.`cscart_categories`.`storefront_id` in (0,1)) and ((`softwarepirmam_hewadelivard_cscart_4`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`softwarepirmam_hewadelivard_cscart_4`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`softwarepirmam_hewadelivard_cscart_4`.`cscart_categories`.`usergroup_ids`))) and (`softwarepirmam_hewadelivard_cscart_4`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
1930 167,166,356M
3754 167,166,356M
3755 167,166,356M
3756 167,166,356M
3757 166,167,356M
3758 166,167,356M
3759 167,166,356M
3760 167,166,356M
3761 167,166,356M
3762 167,166,356M
3764 167,166,356M
3765 167,166,356M
3771 166,167,356M
3774 167,166,356M
3775 167,166,356M
3776 167,166,356M
3815 166,167,356M
3817 166,167,356M
3818 166,167,356M
3883 167,166,356M
3894 167,166,356M
3895 167,166,356M
3896 166,167,356M
3897 167,166,356M
3898 167,166,356M
3972 166,167,356M
3973 167,166,356M
3974 167,166,356M
3975 167,166,356M
3976 167,166,356M
3977 167,166,356M
3978 167,166,356M
3979 167,166,356M
4020 167,166,356M
4021 167,166,356M
4022 167,166,356M