how to decide categorical variables for prediction
Short answer : yes.

Gradient boosting relies on decision trees. The leaves of your decision trees are built in a fashion to discriminate optimally your features. For numeric features, this means finding the best separation value to decline your dataset into two subsets. One contains observations with a value above or equal to this separation value, while the other presents values that are below this separation value.

It would not make any sense to have a leaf splitting your data on a criterion such as $Store &gt;= 5$. However, it would make sense to have a separator such as $Store_5 = 1$ (vs $Store_5 = 0$). This is precisely why dummy variables are created for categorical values in ensemble methods, such as gradient boosting.