Hey @vivricanopy on the Stream Enrich side (or any stream consumer) we tend to think about in terms of 1 shard needing 1 vCPU. As you scale up or down your Kinesis Stream you will then need add/remove vCPUs to remain optimal.
As for un-official recommendations for instance types:
For the collector anything with a moderate to high network performance to ensure your latency is low - we find that with any decent load on the lower end instances latency quickly climbs to the ~40-50 ms mark, in general we tend to use
m3.xlarge for high load and
m3.large/medium for lower loads.
Most of the same rules apply for the Enrichment - you are going to be reading and writing a lot of data to Kinesis. The thing to note here is that depending on how many enrichments you are going to be using you can drastically increase your compute demands.
In short there is no generic rule for what instances to use - every pipeline has different requirements so a lot of it will be figuring out what suits your load best and what latency you are happy to deal with in the pipeline!
Hope this helps,