For every object in Grph can be gotten by taking some suitable colimit of the one-vertex graph 1 and the one-edge graph 2. This means that I really only need to understand
1 ⊗ 1, 1 ⊗ 2, 2 ⊗ 2
(and perhaps a few graph homomorphisms between them) to understand the action of ⊗ on the whole category.
Also, I know ⊗ has an identity object, I. Can I be the empty graph? No, because of preservation of colimits, G ⊗ 0 = 0, so that invalidates I being the identity if ever G is not zero. So now consider what I could possibly be. Whatever it is, it's the colimit of a bunch of copies of 1 and 2. And observe that 1 ⊗ I = 1 doesn't have any arrows in it. But again since ⊗ preserves colimits, 1 ⊗ I has to be the colimit of a bunch of copies of 1 ⊗ 1 and 1 ⊗ 2. Weeelll, maybe there are no copies of 1 ⊗ 2 in there, since we haven't shown that I has any arrows, but at least there's a copy of 1 ⊗ 1. Since colimits never get rid of arrows, only identify them with other arrows, we conclude that
a) 1 ⊗ 1 has no arrows in it.
b) Either 1 ⊗ 2 has no arrows, or I has no arrows (which would cause copies of 1 ⊗ 2 to show up in the colimit that's equal to 1 ⊗ I = 1)
Consider the case where I has no arrows. It's a collection of n vertices. But 1 = I ⊗ 1 = n copies of 1, so n = 1, and 1 = I. Therefore also we know the value of 1 ⊗ 2: it's 2. Down this road is the non-cartesian tensor product that I described yesterday. All that remains is to somehow prove that 2 ⊗ 2 is a four-arrow square.
The case where 1 ⊗ 2 has no arrows ought to lead inexorably to the cartesian product, but I haven't made any further progress on that front.