def add_category_cols(coef_summary, pred_category):
    """Adds indicators columns to coefficient summary df for categaries.

    Parameters
    ----------
    coef_summary : `pandas.DataFrame`
        The coefficient summary df.
        This is typically generated by
        `~greykite.algo.common.model_summary_utils.add_model_coef_df`
        or
        `~greykite.algo.common.model_summary_utils.add_model_coef_df`.
    pred_category : `dict`
        The predictor category dictionary by
        `~greykite.algo.common.col_name_utils.create_pred_category`.

    Returns
    -------
    coef_summary_with_new_columns : `pandas.DataFrame
        New df with the following columns added:

            "is_intercept" : 0 or 1
                Intercept or not.
            "is_time_feature" : 0 or 1
                Time features or not.
                Time features belong to `~greykite.common.constants.TIME_FEATURES`.
            "is_event" : 0 or 1
                Event features or not.
                Event features have `~greykite.common.constants.EVENT_PREFIX`.
            "is_trend" : 0 or 1
                Trend features or not.
                Trend features have `~greykite.common.constants.CHANGEPOINT_COL_PREFIX` or "cp\\d".
            "is_seasonality" : 0 or 1
                Seasonality feature or not.
                Seasonality features have `~greykite.common.constants.SEASONALITY_REGEX`.
            "is_lag" : 0 or 1
                Lagged features or not.
                Lagged features have "lag_".
            "is_regressor" : 0 or 1
                Extra features provided by users.
                They are provided through ``extra_pred_cols`` in the fit function.
            "is_interaction" : 0 or 1
                Interaction feature or not.
                Interaction features have ":".
    """
    coef_summary = coef_summary.copy()
    pred_cols = coef_summary["Pred_col"].tolist()
    coef_summary["is_intercept"] = [1 if col in pred_category["intercept"]
                                    else 0 for col in pred_cols]
    coef_summary["is_time_feature"] = [1 if col in pred_category["time_features"]
                                       else 0 for col in pred_cols]
    coef_summary["is_event"] = [1 if col in pred_category["event_features"]
                                else 0 for col in pred_cols]
    coef_summary["is_trend"] = [1 if col in pred_category["trend_features"]
                                else 0 for col in pred_cols]
    coef_summary["is_seasonality"] = [1 if col in pred_category["seasonality_features"]
                                      else 0 for col in pred_cols]
    coef_summary["is_lag"] = [1 if col in pred_category["lag_features"]
                              else 0 for col in pred_cols]
    coef_summary["is_regressor"] = [1 if col in pred_category["regressor_features"]
                                    else 0 for col in pred_cols]
    coef_summary["is_interaction"] = [1 if col in pred_category["interaction_features"]
                                      else 0 for col in pred_cols]
    return coef_summary