MAR vs. MNAR: how can I decide?

I'm working with a big dataset (400,000 participants) and It has missings in 4 variables: 2 of which are continuous variables and have 3%, 10% missings, and the other two variables are categorical, where both of them have less than 5% missingness.

I have performed little MCAR's test and concluded that missing is not MCAR. How can I examine if they are MAR or MNAR? And can I impute categorical variables?

MAR means that the probability of becoming missing on variable $x$ is independent of the (possibly unobserved) variable $x$. So to empirically differentiate between MAR and NMAR your need to know the values of $x$ when $x$ is missing, which we obviously do not have. Sometimes, there is something about the design of the study or the reason why the values were missing that makes it reasonable to assume MAR. In other cases we know a bit about the reasons of missingness an it strongly suggest NMAR. Most of the time, we just have to make an assumption and hope for the best...

To Maarten's answer, I would add that MAR and MNAR are not really hard distinctions. Rather, it may be better to think of a continuum from MAR to MNAR. There will almost always be some degree of dependence between the probability of missingness on $x$ and the values of $x$ itself: the question is really how problematic is this dependence for your purposes? One thing that may help is to try to predict the probability of missingness using auxiliary variables. Including such variables in your multiple imputation can effectively transform MNAR into MAR. Also, to answer your other question, you can indeed impute categorical variables, although you may need to explicitly declare them as such.